<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
    <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>

<body>
    <div id="app">
        <p>页面载入时，input 元素自动获取焦点：</p>
        <input v-focus>
    </div>

    <script>
        // bind: 只调用一次，指令第一次绑定到元素时调用，用这个钩子函数可以定义一个在绑定时执行一次的初始化动作。

        // inserted: 被绑定元素插入父节点时调用（父节点存在即可调用，不必存在于 document 中）。

        // update: 被绑定元素所在的模板更新时调用，而不论绑定值是否变化。通过比较更新前后的绑定值，可以忽略不必要的模板更新（详细的钩子函数参数见下）。

        // componentUpdated: 被绑定元素所在模板完成一次更新周期时调用。

        // unbind: 只调用一次， 指令与元素解绑时调用。
        // 创建根实例
        new Vue({
            el: '#app',
            directives: {
                // 注册一个局部的自定义指令 v-focus
                focus: {
                    // 指令的定义
                    inserted: function(el) {
                        // 聚焦元素
                        el.focus()
                    }
                }
            }
        })
    </script>
</body>

</html>